home *** CD-ROM | disk | FTP | other *** search
/ CD Actual 44 / PC Actual CD 44.iso / Linux / Cygwin / full.exe / Disk1 / data1.cab / Tools / H-i586-cygwin32 / i586-cygwin32 / include / limits.h < prev    next >
Encoding:
C/C++ Source or Header  |  1998-12-04  |  3.4 KB  |  135 lines

  1. #ifndef _LIMITS_H___
  2. #ifndef _MACH_MACHLIMITS_H_
  3.  
  4. /* _MACH_MACHLIMITS_H_ is used on OSF/1.  */
  5. #define _LIMITS_H___
  6. #define _MACH_MACHLIMITS_H_
  7.  
  8. /* Number of bits in a `char'.  */
  9. #undef CHAR_BIT
  10. #define CHAR_BIT 8
  11.  
  12. /* Maximum length of a multibyte character.  */
  13. #ifndef MB_LEN_MAX
  14. #define MB_LEN_MAX 1
  15. #endif
  16.  
  17. /* Minimum and maximum values a `signed char' can hold.  */
  18. #undef SCHAR_MIN
  19. #define SCHAR_MIN (-128)
  20. #undef SCHAR_MAX
  21. #define SCHAR_MAX 127
  22.  
  23. /* Maximum value an `unsigned char' can hold.  (Minimum is 0).  */
  24. #undef UCHAR_MAX
  25. #define UCHAR_MAX 255
  26.  
  27. /* Minimum and maximum values a `char' can hold.  */
  28. #ifdef __CHAR_UNSIGNED__
  29. #undef CHAR_MIN
  30. #define CHAR_MIN 0
  31. #undef CHAR_MAX
  32. #define CHAR_MAX 255
  33. #else
  34. #undef CHAR_MIN
  35. #define CHAR_MIN (-128)
  36. #undef CHAR_MAX
  37. #define CHAR_MAX 127
  38. #endif
  39.  
  40. /* Minimum and maximum values a `signed short int' can hold.  */
  41. #undef SHRT_MIN
  42. #define SHRT_MIN (-32768)
  43. #undef SHRT_MAX
  44. #define SHRT_MAX 32767
  45.  
  46. /* Maximum value an `unsigned short int' can hold.  (Minimum is 0).  */
  47. #undef USHRT_MAX
  48. #define USHRT_MAX 65535
  49.  
  50. /* Minimum and maximum values a `signed int' can hold.  */
  51. #ifndef __INT_MAX__
  52. #define __INT_MAX__ 2147483647
  53. #endif
  54. #undef INT_MIN
  55. #define INT_MIN (-INT_MAX-1)
  56. #undef INT_MAX
  57. #define INT_MAX __INT_MAX__
  58.  
  59. /* Maximum value an `unsigned int' can hold.  (Minimum is 0).  */
  60. #undef UINT_MAX
  61. #define UINT_MAX (INT_MAX * 2U + 1)
  62.  
  63. /* Minimum and maximum values a `signed long int' can hold.
  64.    (Same as `int').  */
  65. #ifndef __LONG_MAX__
  66. #ifndef __alpha__
  67. #define __LONG_MAX__ 2147483647L
  68. #else
  69. #define __LONG_MAX__ 9223372036854775807L
  70. # endif /* __alpha__ */
  71. #endif
  72. #undef LONG_MIN
  73. #define LONG_MIN (-LONG_MAX-1)
  74. #undef LONG_MAX
  75. #define LONG_MAX __LONG_MAX__
  76.  
  77. /* Maximum value an `unsigned long int' can hold.  (Minimum is 0).  */
  78. #undef ULONG_MAX
  79. #define ULONG_MAX (LONG_MAX * 2UL + 1)
  80.  
  81. #if defined (__GNU_LIBRARY__) ? defined (__USE_GNU) : !defined (__STRICT_ANSI__)
  82. /* Minimum and maximum values a `signed long long int' can hold.  */
  83. #ifndef __LONG_LONG_MAX__
  84. #define __LONG_LONG_MAX__ 9223372036854775807LL
  85. #endif
  86. #undef LONG_LONG_MIN
  87. #define LONG_LONG_MIN (-LONG_LONG_MAX-1)
  88. #undef LONG_LONG_MAX
  89. #define LONG_LONG_MAX __LONG_LONG_MAX__
  90.  
  91. /* Maximum value an `unsigned long long int' can hold.  (Minimum is 0).  */
  92. #undef ULONG_LONG_MAX
  93. #define ULONG_LONG_MAX (LONG_LONG_MAX * 2ULL + 1)
  94. #endif
  95.  
  96. /* Maximum number of iovcnt in a writev */
  97. #undef IOV_MAX
  98. #define IOV_MAX (__INT_MAX__-1)
  99.  
  100. /* Maximum size of ssize_t */
  101. #undef SSIZE_MAX
  102. #define SSIZE_MAX (__LONG_MAX__)
  103.  
  104. /* Maximum length of a path */
  105. #define PATH_MAX (260 - 1 /*NUL*/)
  106.  
  107. /* Max num groups for a user, only current GID available under Windows */
  108. /* Must match <sys/param.h> NGROUPS */
  109. #define NGROUPS_MAX 1
  110.  
  111. /* WaitForMultipleObjects can't handle waiting for more than 64 objects.
  112.    This limits how many children we can fork/spawn off. */
  113. #define CHILD_MAX 63
  114.  
  115. /* POSIX values */
  116. /* These should never vary from one system type to another */
  117. /* They represent the minimum values that POSIX systems must support.
  118.    POSIX-conforming apps must not require larger values. */
  119. #define    _POSIX_ARG_MAX        4096
  120. #define _POSIX_CHILD_MAX    6
  121. #define _POSIX_LINK_MAX        8
  122. #define _POSIX_MAX_CANON    255
  123. #define _POSIX_MAX_INPUT    255
  124. #define _POSIX_NAME_MAX        14
  125. #define _POSIX_NGROUPS_MAX    0
  126. #define _POSIX_OPEN_MAX        16
  127. #define _POSIX_PATH_MAX        255
  128. #define _POSIX_PIPE_BUF        512
  129. #define _POSIX_SSIZE_MAX    32767
  130. #define _POSIX_STREAM_MAX    8
  131. #define _POSIX_TZNAME_MAX       3
  132.  
  133. #endif /* _MACH_MACHLIMITS_H_ */
  134. #endif /* _LIMITS_H___ */
  135.